package service.Common;

import mapper.Common.FileMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import util.ByteOperator;
import util.GeneralHash;

import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;

@Service
public class FileService {

        @Autowired
        private FileMapper fileMapper;


        public boolean updateUserHeaderPic(String userId,String icon){
            if (fileMapper.setUserHeaderPic(userId,icon) > 0){
                return true;
            }
            return false;
        }

//          public boolean updateRoomPic(int id,String room_pic){
//        if (fileMapper.setRoomPic(id,room_pic) > 0 ){
//            return true;
//        }
//        return false;
//    }

//        public boolean uploadMeetingFile(MeetingData data){
//            if (fileMapper.addMeetingData(data.getData_meeting_id(),data.getData_name(),data.getData_type(),data.getData_address()) > 0 ){
//                return true;
//            }
//            return false;
//        }

        /**
         * 判断文件是否存在
         * @param dir 目标文件目录
         * @param filename 文件名称
         * @return 存在则true，不存在则false
         */
        public boolean findFileIsExist(Path dir, String filename){
            return Files.exists(dir.resolve(filename));
        }

        /**
         * 获取文件名称，通过MD5算法HASH出文件的MD5值，作为文件名
         * @param in 文件的输入流
         * @return 文件名字
         */
        public String getFileName(InputStream in){
            GeneralHash hashTool = new GeneralHash(GeneralHash.HashMode.MD5);

            return ByteOperator.encodeHex(hashTool.Hash(in));
        }

}
